// 1.  The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'

// 2. 导入 router
import router from './router/router'

// 3. 导入 element-ui 组件库
// 3.1 导入 element-ui
import ElementUI from 'element-ui'
// 3.2 组件库的样式
import 'element-ui/lib/theme-chalk/index.css'

// 导入自定义颜色
import '@/assets/css/index.css'

import axios from 'axios'
//  导入 elementui-tree-grid
// import ElTreeGrid from 'element-tree-grid'
// Vue.component(ElTreeGrid.name, ElTreeGrid)

axios.defaults.baseURL = 'http://localhost:8888/api/private/v1/'

Vue.prototype.$axios = axios

axios.interceptors.request.use(
  config => {
    // 所有请求之前都要执行的操作
    // console.log('1 请求发送出去之前')
    // console.log(config)

    // 在此处，统一处理 请求头，处理后，就不需要在每个请求中，单独的处理了
    config.headers.Authorization = localStorage.getItem('token')
    return config
  },
  error => {
    // Promise 内部处理失败，就会执行这个回调函数，在此处，应该进行 错误 处理
    // Promise.reject() 直接得到一个失败的Promise对象
    return Promise.reject(error)
  }
)

// 3.3 安装插件
Vue.use(ElementUI)

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  components: { App },
  template: '<App/>',
  // 第四步 把路由和vue 绑定在一起
  router
})
